package ve.usb.coord.colision.hibernate;

import java.util.HashSet;
import java.util.Set;



public class Departamento implements java.io.Serializable {

    /** Creates a new instance of Departamento */
    public Departamento() {}

    /**
     * Holds value of property idDepartamento.
     */
    private long idDepartamento;

    /**
     * Getter for property idDepartamento.
     * @return Value of property idDepartamento.
     */
    public long getIdDepartamento() {
        return this.idDepartamento;
    }

    /**
     * Setter for property idDepartamento.
     * @param idDepartamento New value of property idDepartamento.
     */
    public void setIdDepartamento(long idDepartamento) {
        this.idDepartamento = idDepartamento;
    }
    /**
     * Holds value of property nombre.
     */
    private String nombre = "";

    /**
     * Getter for property nombre.
     * @return Value of property nombre.
     */
    public String getNombre() {
        return this.nombre;
    }

    /**
     * Setter for property nombre.
     * @param nombre New value of property nombre.
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    /**
     * Holds value of property direccion.
     */
    private String direccion = "";

    /**
     * Getter for property direccion.
     * @return Value of property direccion.
     */
    public String getDireccion() {
        return this.direccion;
    }

    /**
     * Setter for property direccion.
     * @param direccion New value of property direccion.
     */
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }
    /**
     * Holds value of property telefono.
     */
    private String telefono = "";

    /**
     * Getter for property telefono.
     * @return Value of property telefono.
     */
    public String getTelefono() {
        return this.telefono;
    }

    /**
     * Setter for property telefono.
     * @param telefono New value of property telefono.
     */
    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }
      /**
     * Holds value of property usuarios.
     */
    private Set<Usuario> usuarios = new HashSet<Usuario>();

    /**
     * Getter for property usuarios.
     * @return Value of property usuarios.
     */
    public Set<Usuario> getUsuarios() {
        return this.usuarios;
    }

    /**
     * Setter for property usuarios.
     * @param usuarios New value of property usuarios.
     */
    public void setUsuarios(Set<Usuario> usuarios) {
        this.usuarios = usuarios;
    }

    /**
     * Add an element to set property usuarios
     * and sets elements's property coordinacion.
     * @param element New element to be added to usuarios.
     */
    public void addToUsuarios(Usuario element) {
        element.setDepartamento(this);
        usuarios.add(element);
    }

    /**
     * Removes and old element from set usuarios 
     * and sets element's property coordinacion to null.
     * @param old The element to be removed from usuarios
     */
    public void removeFromUsuarios(Usuario old) {
        usuarios.remove(old);
        old.setDepartamento(null);
    }
    /**
     * Holds value of property asignaturas.
     */
    private Set<Asignatura> asignaturas = new HashSet<Asignatura>();

    /**
     * Getter for property asignaturas.
     * @return Value of property asignaturas.
     */
    public Set<Asignatura> getAsignaturas() {
        return this.asignaturas;
    }

    /**
     * Setter for property asignaturas.
     * @param asignaturas New value of property asignaturas.
     */
    public void setAsignaturas(Set<Asignatura> asignaturas) {
        this.asignaturas = asignaturas;
    }

    /**
     * Add an element to set property asignaturas
     * and sets elements's property departamento.
     * @param element New element to be added to asignaturas.
     */
    public void addToAsignaturas(Asignatura element) {
        element.setDepartamento(this);
        asignaturas.add(element);
    }

    /**
     * Removes and old element from set asignaturas 
     * and sets element's property departamento to null.
     * @param old The element to be removed from asignaturas
     */
    public void removeFromAsignaturas(Asignatura old) {
        asignaturas.remove(old);
        old.setDepartamento(null);
    }

}